package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 拌合楼业务对象 n_sys_station
 *
 * @author zyb
 * @date 2023-09-06
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NSysStationBo extends BaseEntity {

    /**
     * 拌合楼主键
     */
    @NotBlank(message = "拌合楼主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 基地code
     */
    @NotBlank(message = "基地code不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baseCode;

    /**
     * 拌合站类型
     */
    @NotBlank(message = "拌合站类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 拌合楼名称
     */
    @NotBlank(message = "拌合楼名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 拌合楼编码
     */
    @NotBlank(message = "拌合楼编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String code;

    /**
     * 编号
     */
    @NotBlank(message = "编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String identifier;

    /**
     * 机长
     */
    @NotBlank(message = "机长不能为空", groups = { AddGroup.class, EditGroup.class })
    private String captain;

    /**
     * 机长电话
     */
    @NotBlank(message = "机长电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String captainPhone;

    /**
     * 购买日期
     */
    @NotNull(message = "购买日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date buyTime;

    /**
     * 投产时间
     */
    @NotNull(message = "投产时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date produceTime;

    /**
     * 生产厂家
     */
    @NotBlank(message = "生产厂家不能为空", groups = { AddGroup.class, EditGroup.class })
    private String manufacturer;

    /**
     * 规格型号
     */
    @NotBlank(message = "规格型号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String model;

    /**
     * 厂商联系人
     */
    @NotBlank(message = "厂商联系人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String service;

    /**
     * 厂商电话
     */
    @NotBlank(message = "厂商电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String servicePhone;

    /**
     * 是否传感器校正
     */
    @NotNull(message = "是否传感器校正不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sensorConfig;

    /**
     * 是否设置材料价格
     */
    @NotNull(message = "是否设置材料价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long materialConfig;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String info;

    /**
     * 创建者
     */
    @NotNull(message = "创建者不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long creator;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date createDate;

    /**
     * 更新者
     */
    @NotNull(message = "更新者不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long updater;

    /**
     * 更新时间
     */
    @NotNull(message = "更新时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date updateDate;

    /**
     * 是否删除：0=未删除；1=已删除；
     */
    @NotBlank(message = "是否删除：0=未删除；1=已删除；不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deleted;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isSmart;

    @NotBlank(message = "是否接入 1接入0未接入", groups = { AddGroup.class, EditGroup.class })
    private Integer isConnect;

    /**
     * 物联卡号
     */
    @NotBlank(message = "物联卡号", groups = { AddGroup.class, EditGroup.class })
    private String cardNum;

}
